package classfile

/*
任何类包含了类型变量，或参数化类型，该属性会为其记录泛型签名信息。
java实际上使用的是擦除法实现的伪泛型，字节码即Code属性中所有的泛型信息编译在编译后都被通通擦除掉
*/
type SignatureAttribute struct {
	cp             ConstantPool
	signatureIndex uint16
}

func (self *SignatureAttribute) readInfo(reader *ClassReader) {
	self.signatureIndex = reader.readUint16()
}

func (self *SignatureAttribute) signatureName() string {
	return self.cp.getUtf8(self.signatureIndex)
}
